import jsonpath
import json

"""
    注意： jsonpath只能解析本地数据
"""

val = json.load(open('03-jsonpath基础使用.json', 'r', encoding='utf-8'))
# 书点所有书的作者
list = jsonpath.jsonpath(val, '$.store.book[*].author')

# 所有的作者
list = jsonpath.jsonpath(val, '$..author')

# store的所有元素。所有的bookst和bicycle
list = jsonpath.jsonpath(val, '$.store.*')

# store里面所有东西的price
list = jsonpath.jsonpath(val, '$.store..price')

# 第三个书
list = jsonpath.jsonpath(val, '$..book[2]')

# 最后一本书
list = jsonpath.jsonpath(val, '$..book[(@.length-1)]')

# 前面的两本书。
list = jsonpath.jsonpath(val, '$..book[:2]')   # $..book[0,1]

# 过滤出所有的包含isbn的书。
list = jsonpath.jsonpath(val, '$..book[?(@.isbn)]')

# 过滤出价格低于10的书。
list = jsonpath.jsonpath(val, '$..book[?(@.price<10)]')

# 所有元素。
list = jsonpath.jsonpath(val, '$..*')

print(list)
